const path = require('path')
const myTheme = path.join(__dirname, './src/style/theme.less');
const pxtorem = require('postcss-pxtorem');
const Timestamp = new Date().getTime();
function resolve (dir) {
    return path.join(__dirname, '.', dir)
}
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
module.exports = {
    lintOnSave: false,
    productionSourceMap: false,
    outputDir: process.env.outputDir,
    pluginOptions: {
        'style-resources-loader': {
            preProcessor: 'less',
            patterns: [
                path.resolve(__dirname, './src/assets/common/global.less')
            ]
        },
    },
    publicPath:'./',
    configureWebpack: {
        output: {
            filename: `js/[name].${Timestamp}.js`, // 每次构建打包时给文件名加上时间戳，确保每次版本更新的文件名不一样
            chunkFilename: `js/[name].${Timestamp}.js`
        },
        resolve: {
            extensions: ['.js', '.vue', '.json'],
            // 识别@文件引入
            alias: {
                '@': resolve('src'),
            }
        },
        // plugins: [new BundleAnalyzerPlugin({
        //     analyzerMode: 'static', // 分析模式，static生成静态页面
        //     generateStatsFile: true, // 是否生成stats.json文件
        //     statsOptions: { // 统计选项
        //         source: false,
        //         modules: false,
        //     },
        //     logLevel: 'info', // 日志级别
        //     openAnalyzer: false, // 是否自动打开分析报告页面
        //     // 分析报告的路径
        //     reportFilename: 'bundle_report.html',
        //     // 生成的stats.json文件路径
        //     statsFilename: 'bundle_stats.json',
        // })],
    },
    devServer: {
        port:'8090',
        proxy: {
            '/serveApi': {
                target: 'https://wwwph.cashmabi.top:8000/app-domain/',
                changeOrigin: true,
                pathRewrite: {
                    '^/serveApi': ''
                }
            }
        }
    },
    css: {
        loaderOptions: {
            less: {
                modifyVars: {
                    hack: `true; @import "${myTheme}";`,
                }
            },
            postcss: {
                plugins: [
                    pxtorem({
                        rootValue: 37.5,
                        propList: ['*']
                    })
                ]
            }
        }
    }
}
